// weaknessAttackDamage.module.js

// 计算攻击伤害（弱点）


// [[file:~/literate-programming/soul-hunter-awakening-damage-calculator-web-edition.org::*weaknessAttackDamage.module.js][weaknessAttackDamage.module.js:1]]
function calculate(object){
    return final({
        攻击伤害加成:attackDamage({
            出战魂攻击伤害加成:object.出战魂攻击伤害加成,
            脉石:object.脉石,
            兽潮攻击伤害加成:object.兽潮攻击伤害加成,
            专精:object.专精,
            技能符文:object.技能符文,
            特技增幅:object.特技增幅
        }),
        物种伤害加成:speciesDamage({
            对应物种猎术:object.对应物种猎术,
            羁绊出战物种伤害加成:object.羁绊出战物种伤害加成,
            出战魂物种伤害加成:object.出战魂物种伤害加成,
            兽潮物种伤害加成:object.兽潮物种伤害加成
        }),
        弱点伤害加成:weeknessDamage({
            出战魂弱点伤害加成:object.出战魂弱点伤害加成,
            基础弱点伤害:object.基础弱点伤害,
            狩猎术:object.狩猎术,
            特技弱点伤害增幅:object.特技弱点伤害增幅,
            技能符文弱点伤害增幅:object.技能符文弱点伤害增幅
        })
    })
}

function final(object){
    let 攻击伤害加成=object.攻击伤害加成
    let 物种伤害加成=object.物种伤害加成
    let 弱点伤害加成=object.弱点伤害加成

    return (攻击伤害加成+物种伤害加成+弱点伤害加成)
}

function attackDamage(object){
    let 出战魂攻击伤害加成=object.出战魂攻击伤害加成
    let 脉石=object.脉石
    let 兽潮攻击伤害加成=object.兽潮攻击伤害加成
    let 专精=object.专精
    let 技能符文=object.技能符文
    let 特技增幅=object.特技增幅

    return (
        出战魂攻击伤害加成+
        脉石+
        兽潮攻击伤害加成+
        专精+
        技能符文+
        特技增幅
    )
}

function speciesDamage(object){
    let 对应物种猎术=object.对应物种猎术
    let 羁绊出战物种伤害加成=object.羁绊出战物种伤害加成
    let 出战魂物种伤害加成=object.出战魂物种伤害加成
    let 兽潮物种伤害加成=object.兽潮物种伤害加成

    return (
        对应物种猎术+
        羁绊出战物种伤害加成+
        出战魂物种伤害加成+
        兽潮物种伤害加成
    )
}

function weeknessDamage(object){
    let 出战魂弱点伤害加成=object.出战魂弱点伤害加成
    let 基础弱点伤害=object.基础弱点伤害
    let 狩猎术=object.狩猎术
    let 特技弱点伤害增幅=object.特技弱点伤害增幅
    let 技能符文弱点伤害增幅=object.技能符文弱点伤害增幅

    return (
        出战魂弱点伤害加成+
        基础弱点伤害+
        狩猎术+
        特技弱点伤害增幅+
        技能符文弱点伤害增幅
    )
}

export{calculate}
// weaknessAttackDamage.module.js:1 ends here
